package br.edu.sistemaacademico.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class ValidaData {

	public static boolean isDate(String dateStr)  
    throws java.text.ParseException  
    {  
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
        Calendar cal = new GregorianCalendar();  

            // gerando o calendar  
        cal.setTime(df.parse(dateStr));  

            // separando os dados da string para comparacao e validacao  
        String[] data = dateStr.split("/");  
        String dia = data[0];  
        String mes = data[1];  
        String ano = data[2];  

            // testando se hah discrepancia entre a data que foi  
            // inserida no caledar e a data que foi passada como  
            // string. se houver diferenca, a data passada era  
            // invalida  
        if ( (new Integer(dia)).intValue() != (new  
Integer(cal.get(Calendar.DAY_OF_MONTH))).intValue() ) {  
           // dia nao casou  
            return(false);  
        } else if ( (new Integer(mes)).intValue() != (new  
Integer(cal.get(Calendar.MONTH)+1)).intValue() ) {  
                // mes nao casou  
            return(false);  
        } else if ( (new Integer(ano)).intValue() != (new  
Integer(cal.get(Calendar.YEAR))).intValue() ) {  
                // ano nao casou  
            return(false);  
        }  

        return(true);                          
    }  
}
